package org.base23.video.domain.dto;

import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * 外部视频分析API响应实体
 */
public class VideoAnalysisApiResponse {
    
    private Integer code;
    
    private String msg;
    
    private VideoAnalysisApiData data;
    
    public VideoAnalysisApiResponse() {}
    
    public Integer getCode() {
        return code;
    }
    
    public void setCode(Integer code) {
        this.code = code;
    }
    
    public String getMsg() {
        return msg;
    }
    
    public void setMsg(String msg) {
        this.msg = msg;
    }
    
    public VideoAnalysisApiData getData() {
        return data;
    }
    
    public void setData(VideoAnalysisApiData data) {
        this.data = data;
    }
    
    /**
     * 视频分析API数据
     */
    public static class VideoAnalysisApiData {
        
        @JsonProperty("originalFilename")
        private String originalFilename;
        
        @JsonProperty("processingTime")
        private String processingTime;
        
        @JsonProperty("resultFile")
        private String resultFile;
        
        @JsonProperty("resultId")
        private String resultId;
        
        private VideoAnalysisSummary summary;
        
        public VideoAnalysisApiData() {}
        
        public String getOriginalFilename() {
            return originalFilename;
        }
        
        public void setOriginalFilename(String originalFilename) {
            this.originalFilename = originalFilename;
        }
        
        public String getProcessingTime() {
            return processingTime;
        }
        
        public void setProcessingTime(String processingTime) {
            this.processingTime = processingTime;
        }
        
        public String getResultFile() {
            return resultFile;
        }
        
        public void setResultFile(String resultFile) {
            this.resultFile = resultFile;
        }
        
        public String getResultId() {
            return resultId;
        }
        
        public void setResultId(String resultId) {
            this.resultId = resultId;
        }
        
        public VideoAnalysisSummary getSummary() {
            return summary;
        }
        
        public void setSummary(VideoAnalysisSummary summary) {
            this.summary = summary;
        }
    }
    
    /**
     * 视频分析摘要
     */
    public static class VideoAnalysisSummary {
        
        private Integer fps;
        
        @JsonProperty("framesProcessed")
        private Integer framesProcessed;
        
        @JsonProperty("totalFrames")
        private Integer totalFrames;
        
        public VideoAnalysisSummary() {}
        
        public Integer getFps() {
            return fps;
        }
        
        public void setFps(Integer fps) {
            this.fps = fps;
        }
        
        public Integer getFramesProcessed() {
            return framesProcessed;
        }
        
        public void setFramesProcessed(Integer framesProcessed) {
            this.framesProcessed = framesProcessed;
        }
        
        public Integer getTotalFrames() {
            return totalFrames;
        }
        
        public void setTotalFrames(Integer totalFrames) {
            this.totalFrames = totalFrames;
        }
    }
} 